[INFO] cloning repository https://github.com/andreaseg/rcalc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andreaseg/rcalc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreaseg%2Frcalc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreaseg%2Frcalc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e11ffdfedb0f8c441e60fc7671346fcb878c2f99
[INFO] checking andreaseg/rcalc against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandreaseg%2Frcalc" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/andreaseg/rcalc on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/andreaseg/rcalc
[INFO] finished tweaking git repo https://github.com/andreaseg/rcalc
[INFO] tweaked toml for git repo https://github.com/andreaseg/rcalc written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/andreaseg/rcalc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7f85ca5343cd6c20b97355e47c65e32b2f17637fc6c8132feb6c93a30186882f
[INFO] running `Command { std: "docker" "start" "-a" "7f85ca5343cd6c20b97355e47c65e32b2f17637fc6c8132feb6c93a30186882f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f85ca5343cd6c20b97355e47c65e32b2f17637fc6c8132feb6c93a30186882f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f85ca5343cd6c20b97355e47c65e32b2f17637fc6c8132feb6c93a30186882f", kill_on_drop: false }`
[INFO] [stdout] 7f85ca5343cd6c20b97355e47c65e32b2f17637fc6c8132feb6c93a30186882f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 53fb30838209941c6cbb0fc3b9070d88111d06ba3f651d0aac844b817bc98973
[INFO] running `Command { std: "docker" "start" "-a" "53fb30838209941c6cbb0fc3b9070d88111d06ba3f651d0aac844b817bc98973", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.41
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]     Checking lazy_static v1.0.1
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]     Checking thread_local v0.3.5
[INFO] [stderr]     Checking memchr v2.0.1
[INFO] [stderr]     Checking aho-corasick v0.6.4
[INFO] [stderr]     Checking rcalc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:221:39
[INFO] [stdout]     |
[INFO] [stdout] 221 |             parse(::scanner::tokenize("1 + 2".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 221 -             parse(::scanner::tokenize("1 + 2".to_string())),
[INFO] [stdout] 221 +             parse(::scanner::tokenize("1 + 2")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:229:39
[INFO] [stdout]     |
[INFO] [stdout] 229 |             parse(::scanner::tokenize("1 * 2".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 229 -             parse(::scanner::tokenize("1 * 2".to_string())),
[INFO] [stdout] 229 +             parse(::scanner::tokenize("1 * 2")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:237:39
[INFO] [stdout]     |
[INFO] [stdout] 237 |             parse(::scanner::tokenize("1 / 2".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 237 -             parse(::scanner::tokenize("1 / 2".to_string())),
[INFO] [stdout] 237 +             parse(::scanner::tokenize("1 / 2")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:245:39
[INFO] [stdout]     |
[INFO] [stdout] 245 |             parse(::scanner::tokenize("1 - 2".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 245 -             parse(::scanner::tokenize("1 - 2".to_string())),
[INFO] [stdout] 245 +             parse(::scanner::tokenize("1 - 2")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:253:39
[INFO] [stdout]     |
[INFO] [stdout] 253 |             parse(::scanner::tokenize("1 ^ 2".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 253 -             parse(::scanner::tokenize("1 ^ 2".to_string())),
[INFO] [stdout] 253 +             parse(::scanner::tokenize("1 ^ 2")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:265:39
[INFO] [stdout]     |
[INFO] [stdout] 265 |             parse(::scanner::tokenize("(1)".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 265 -             parse(::scanner::tokenize("(1)".to_string())),
[INFO] [stdout] 265 +             parse(::scanner::tokenize("(1)")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:273:39
[INFO] [stdout]     |
[INFO] [stdout] 273 |             parse(::scanner::tokenize("(1) + (2)".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 273 -             parse(::scanner::tokenize("(1) + (2)".to_string())),
[INFO] [stdout] 273 +             parse(::scanner::tokenize("(1) + (2)")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:285:39
[INFO] [stdout]     |
[INFO] [stdout] 285 |             parse(::scanner::tokenize("1 + 2 * 3".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 285 -             parse(::scanner::tokenize("1 + 2 * 3".to_string())),
[INFO] [stdout] 285 +             parse(::scanner::tokenize("1 + 2 * 3")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/parser.rs:298:39
[INFO] [stdout]     |
[INFO] [stdout] 298 |             parse(::scanner::tokenize("1 * 2 + 3".to_string())),
[INFO] [stdout]     |                   ------------------- ^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 298 -             parse(::scanner::tokenize("1 * 2 + 3".to_string())),
[INFO] [stdout] 298 +             parse(::scanner::tokenize("1 * 2 + 3")),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/scanner.rs:77:39
[INFO] [stdout]    |
[INFO] [stdout] 77 |                   let tokens = tokenize($match_values.to_string());
[INFO] [stdout]    |                                -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 93 | /     test_tokenizer!(
[INFO] [stdout] 94 | |         number,
[INFO] [stdout] 95 | |         "2",
[INFO] [stdout] 96 | |         Token::Number(_),
[INFO] [stdout] 97 | |         "Tokenizer does not recognize numbers"
[INFO] [stdout] 98 | |     );
[INFO] [stdout]    | |_____- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> src/scanner.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]    |        ^^^^^^^^ -----------
[INFO] [stdout]    = note: this error originates in the macro `test_tokenizer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]    |
[INFO] [stdout] 77 -                 let tokens = tokenize($match_values.to_string());
[INFO] [stdout] 77 +                 let tokens = tokenize($match_values);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/scanner.rs:77:39
[INFO] [stdout]     |
[INFO] [stdout] 77  |                   let tokens = tokenize($match_values.to_string());
[INFO] [stdout]     |                                -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 99  | /     test_tokenizer!(
[INFO] [stdout] 100 | |         lpar,
[INFO] [stdout] 101 | |         "(",
[INFO] [stdout] 102 | |         Token::LeftPar,
[INFO] [stdout] 103 | |         "Tokenizer does not recognize '('"
[INFO] [stdout] 104 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout]     = note: this error originates in the macro `test_tokenizer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 77  -                 let tokens = tokenize($match_values.to_string());
[INFO] [stdout] 77  +                 let tokens = tokenize($match_values);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/scanner.rs:77:39
[INFO] [stdout]     |
[INFO] [stdout] 77  |                   let tokens = tokenize($match_values.to_string());
[INFO] [stdout]     |                                -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 105 | /     test_tokenizer!(
[INFO] [stdout] 106 | |         rpar,
[INFO] [stdout] 107 | |         ")",
[INFO] [stdout] 108 | |         Token::RightPar,
[INFO] [stdout] 109 | |         "Tokenizer does not recognize ')'"
[INFO] [stdout] 110 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout]     = note: this error originates in the macro `test_tokenizer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 77  -                 let tokens = tokenize($match_values.to_string());
[INFO] [stdout] 77  +                 let tokens = tokenize($match_values);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/scanner.rs:77:39
[INFO] [stdout]     |
[INFO] [stdout] 77  |                   let tokens = tokenize($match_values.to_string());
[INFO] [stdout]     |                                -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 111 | /     test_tokenizer!(
[INFO] [stdout] 112 | |         operator,
[INFO] [stdout] 113 | |         "+-*/^",
[INFO] [stdout] 114 | |         Token::Operator(_),
[INFO] [stdout] 115 | |         "Tokenizer does not recognize operators"
[INFO] [stdout] 116 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout]     = note: this error originates in the macro `test_tokenizer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 77  -                 let tokens = tokenize($match_values.to_string());
[INFO] [stdout] 77  +                 let tokens = tokenize($match_values);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/scanner.rs:77:39
[INFO] [stdout]     |
[INFO] [stdout] 77  |                   let tokens = tokenize($match_values.to_string());
[INFO] [stdout]     |                                -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 117 | /     test_tokenizer!(
[INFO] [stdout] 118 | |         comma,
[INFO] [stdout] 119 | |         ",",
[INFO] [stdout] 120 | |         Token::Comma,
[INFO] [stdout] 121 | |         "Tokenizer does not recognize comma."
[INFO] [stdout] 122 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout]     = note: this error originates in the macro `test_tokenizer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 77  -                 let tokens = tokenize($match_values.to_string());
[INFO] [stdout] 77  +                 let tokens = tokenize($match_values);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/scanner.rs:77:39
[INFO] [stdout]     |
[INFO] [stdout] 77  |                   let tokens = tokenize($match_values.to_string());
[INFO] [stdout]     |                                -------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&str`, found `String`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                arguments to this function are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 123 | /     test_tokenizer!(
[INFO] [stdout] 124 | |         external,
[INFO] [stdout] 125 | |         "sin(",
[INFO] [stdout] 126 | |         Token::External(_),
[INFO] [stdout] 127 | |         "Tokenizer does not recognize externals."
[INFO] [stdout] 128 | |     );
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> src/scanner.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 27  | pub fn tokenize(input: &str) -> Vec<Token> {
[INFO] [stdout]     |        ^^^^^^^^ -----------
[INFO] [stdout]     = note: this error originates in the macro `test_tokenizer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try removing the method call
[INFO] [stdout]     |
[INFO] [stdout] 77  -                 let tokens = tokenize($match_values.to_string());
[INFO] [stdout] 77  +                 let tokens = tokenize($match_values);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 15 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rcalc` (bin "rcalc" test) due to 16 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "53fb30838209941c6cbb0fc3b9070d88111d06ba3f651d0aac844b817bc98973", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53fb30838209941c6cbb0fc3b9070d88111d06ba3f651d0aac844b817bc98973", kill_on_drop: false }`
[INFO] [stdout] 53fb30838209941c6cbb0fc3b9070d88111d06ba3f651d0aac844b817bc98973
